package com.yunxin.core.application.command.channel;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;

/**
 * @author zero°
 * @since 2023-05-27
 */
@Data
@Schema(description = "更新渠道推广基础信息对象")
public class UpdateChannelPromotionBasicInfoCommand implements Serializable {
    /**
     * 推广id
     */
    @Schema(description = "推广id")
    @NotNull(message = "推广id不能为空")
    private Long promotionId;
    /**
     * 渠道推广名称
     */
    @Schema(description = "渠道推广名称")
    @NotBlank(message = "渠道推广名称不能为空")
    private String promotionName;
    /**
     * 渠道推广code
     */
    @Schema(description = "渠道推广code")
    @NotBlank(message = "渠道推广code不能为空")
    private String promotionCode;
    /**
     * 页面code
     */
    @Schema(description = "页面code")
    private String pageCode;
    /**
     * 渠道id
     */
    @Schema(description = "渠道id")
    @NotNull(message = "渠道id不能为空")
    private Long channelId;
    /**
     * 对接类型 1.H5
     */
    @Schema(description = "对接类型 1.H5")
    @NotNull(message = "对接类型不能为空")
    private Integer abutmentType;
    /**
     * 底部协议状态 1.展示 2.不展示
     */
    @Schema(description = "底部协议状态 1.展示 2.不展示")
    @NotNull(message = "底部协议状态不能为空")
    private Integer bottomProtocol;
    /**
     * 运营主体
     */
    @Schema(description = "运营主体")
    private String operatingEntity;

    /**
     * 资金来源
     */
    @Schema(description = "资金来源")
    private String sourceOfFunds;
    /**
     * 备案信息
     */
    @Schema(description = "备案信息")
    private String filingInfo;
    /**
     * 客服信息
     */
    @Schema(description = "客服信息")
    private String customerServiceInfo;
    /**
     * 安全提示
     */
    @Schema(description = "安全提示")
    private String safetyTip;
    /**
     * 举报邮箱
     */
    @Schema(description = "举报邮箱")
    private String reportMail;
    /**
     * 警示信息
     */
    @Schema(description = "警示信息")
    private String warningInfo;
    /**
     * 备注信息
     */
    @Schema(description = "备注信息")
    private String remarkInfo;
    /**
     * 更新人
     */
    @Schema(hidden = true)
    private String editor;

    /**
     * 是否默认选中协议
     */
    @Schema(description = "默认选中 1.是 2.否")
    private Integer protocolStatus;
}
